package butines.game.lastcolony.screen;

import butines.common.game.BasicGameState;
import butines.core.InputCodes;
import butines.core.gui.GUIListener;
import butines.core.gui.GUIPainel;
import butines.core.gui.MouseEvent;
import butines.game.lastcolony.LastColony;

public abstract class AbstractScreen extends BasicGameState implements InputCodes, GUIListener {

	protected final LastColony lastColony;
	protected final GUIPainel painel = new GUIPainel();
	
	public AbstractScreen(LastColony lastColony) {
		this.lastColony = lastColony;
	}
		
	public void init() {
		
	}
	
	public void destroy() {
	    
	}
	
	@Override
	public void enter() {
	    init();
		lastColony.addPainel(painel);
	}

	@Override
	public void leave() {
		lastColony.removePainel(painel);
		destroy();
	}
		
	public void show() {
		lastColony.enterState(this);
	}

    @Override
    public void onClick(MouseEvent e) {
        
    }

    @Override
    public void onMouseEnter(MouseEvent e) {
        
    }

    @Override
    public void onMouseLeave(MouseEvent e) {
        
    }

    @Override
    public void onMouseMove(MouseEvent e) {
        
    }

    @Override
    public void onMouseDown(MouseEvent e) {

    }

    @Override
    public void onMouseUp(MouseEvent e) {
        
    }
    
}
